package org.domain.sisteste.entity;

// Generated 12/11/2013 11:37:44 by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;

/**
 * TaTeste generated by hbm2java
 */
@Entity
@Table(name = "ta_teste")
public class Teste implements java.io.Serializable {

	private int idTeste;
	private Software tbSoftware;
	private Etapa tbEtapa;
	private Date dtInicioPrevista;
	private Date dtFimPrevista;
	private Integer nrDiasUteis;
	private String stTeste;
	private int cdEquipeDaCelulaTeste;
	private Integer nrInstalacaoFisica;
	private String obTeste;
	private Date dtFimEfetiva;
	private Date dtInicioEfetiva;
	private Set<CasoTeste> tbCasosdetestes = new HashSet<CasoTeste>(0);
	private Set<DocumentoEquipe> tbDocumentoequipes = new HashSet<DocumentoEquipe>(
			0);

	public Teste() {
	}

	public Teste(int idTeste, Software tbSoftware, Etapa tbEtapa,
			int cdEquipeDaCelulaTeste) {
		this.idTeste = idTeste;
		this.tbSoftware = tbSoftware;
		this.tbEtapa = tbEtapa;
		this.cdEquipeDaCelulaTeste = cdEquipeDaCelulaTeste;
	}

	public Teste(int idTeste, Software tbSoftware, Etapa tbEtapa,
			Date dtInicioPrevista, Date dtFimPrevista, Integer nrDiasUteis,
			String stTeste, int cdEquipeDaCelulaTeste,
			Integer nrInstalacaoFisica, String obTeste, Date dtFimEfetiva,
			Date dtInicioEfetiva, Set<CasoTeste> tbCasosdetestes,
			Set<DocumentoEquipe> tbDocumentoequipes) {
		this.idTeste = idTeste;
		this.tbSoftware = tbSoftware;
		this.tbEtapa = tbEtapa;
		this.dtInicioPrevista = dtInicioPrevista;
		this.dtFimPrevista = dtFimPrevista;
		this.nrDiasUteis = nrDiasUteis;
		this.stTeste = stTeste;
		this.cdEquipeDaCelulaTeste = cdEquipeDaCelulaTeste;
		this.nrInstalacaoFisica = nrInstalacaoFisica;
		this.obTeste = obTeste;
		this.dtFimEfetiva = dtFimEfetiva;
		this.dtInicioEfetiva = dtInicioEfetiva;
		this.tbCasosdetestes = tbCasosdetestes;
		this.tbDocumentoequipes = tbDocumentoequipes;
	}

	@Id
	@Column(name = "ID_Teste", unique = true, nullable = false)
	public int getIdTeste() {
		return this.idTeste;
	}

	public void setIdTeste(int idTeste) {
		this.idTeste = idTeste;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "CD_Software", nullable = false)
	@NotNull
	public Software getTbSoftware() {
		return this.tbSoftware;
	}

	public void setTbSoftware(Software tbSoftware) {
		this.tbSoftware = tbSoftware;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "CD_Etapa", nullable = false)
	@NotNull
	public Etapa getTbEtapa() {
		return this.tbEtapa;
	}

	public void setTbEtapa(Etapa tbEtapa) {
		this.tbEtapa = tbEtapa;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DT_InicioPrevista", length = 10)
	public Date getDtInicioPrevista() {
		return this.dtInicioPrevista;
	}

	public void setDtInicioPrevista(Date dtInicioPrevista) {
		this.dtInicioPrevista = dtInicioPrevista;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DT_FimPrevista", length = 10)
	public Date getDtFimPrevista() {
		return this.dtFimPrevista;
	}

	public void setDtFimPrevista(Date dtFimPrevista) {
		this.dtFimPrevista = dtFimPrevista;
	}

	@Column(name = "NR_DiasUteis")
	public Integer getNrDiasUteis() {
		return this.nrDiasUteis;
	}

	public void setNrDiasUteis(Integer nrDiasUteis) {
		this.nrDiasUteis = nrDiasUteis;
	}

	@Column(name = "ST_Teste", length = 9)
	@Length(max = 9)
	public String getStTeste() {
		return this.stTeste;
	}

	public void setStTeste(String stTeste) {
		this.stTeste = stTeste;
	}

	@Column(name = "CD_EquipeDaCelulaTeste", nullable = false)
	public int getCdEquipeDaCelulaTeste() {
		return this.cdEquipeDaCelulaTeste;
	}

	public void setCdEquipeDaCelulaTeste(int cdEquipeDaCelulaTeste) {
		this.cdEquipeDaCelulaTeste = cdEquipeDaCelulaTeste;
	}

	@Column(name = "NR_InstalacaoFisica")
	public Integer getNrInstalacaoFisica() {
		return this.nrInstalacaoFisica;
	}

	public void setNrInstalacaoFisica(Integer nrInstalacaoFisica) {
		this.nrInstalacaoFisica = nrInstalacaoFisica;
	}

	@Column(name = "OB_Teste")
	public String getObTeste() {
		return this.obTeste;
	}

	public void setObTeste(String obTeste) {
		this.obTeste = obTeste;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DT_FimEfetiva", length = 10)
	public Date getDtFimEfetiva() {
		return this.dtFimEfetiva;
	}

	public void setDtFimEfetiva(Date dtFimEfetiva) {
		this.dtFimEfetiva = dtFimEfetiva;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DT_InicioEfetiva", length = 10)
	public Date getDtInicioEfetiva() {
		return this.dtInicioEfetiva;
	}

	public void setDtInicioEfetiva(Date dtInicioEfetiva) {
		this.dtInicioEfetiva = dtInicioEfetiva;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "taTeste")
	public Set<CasoTeste> getTbCasosdetestes() {
		return this.tbCasosdetestes;
	}

	public void setTbCasosdetestes(Set<CasoTeste> tbCasosdetestes) {
		this.tbCasosdetestes = tbCasosdetestes;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "taTeste")
	public Set<DocumentoEquipe> getTbDocumentoequipes() {
		return this.tbDocumentoequipes;
	}

	public void setTbDocumentoequipes(Set<DocumentoEquipe> tbDocumentoequipes) {
		this.tbDocumentoequipes = tbDocumentoequipes;
	}

}
